Encoding and decoding a media signal

ABSTRACT

The invention discloses a method of embedding information for high quality restoration of a media signal (typically an audio-visual signal) in a lower quality version of the signal. To this end, the signal x is encoded using a high quality encoder (Q 2 ). The code sequences z produced by the high quality encoder are mapped into code sequences y that are associated with a hypothetical lower quality encoder (Q 1 ). The latter code sequences y are transmitted. A simple decoder will decode the received sequences y, and thus reproduce a low quality version of the signal. A more sophisticated decoder is arranged to inversely map the received code sequences y into the code sequences z, that were actually produced by the high quality encoder (Q 2 ). The sophisticated decoder will thus reproduce a higher quality version of the same signal.

FIELD OF THE INVENTION

The invention relates to methods and arrangements for encoding and decoding a media signal, typically an audio-visual signal.

BACKGROUND OF THE INVENTION

One of the proposed methods for Digital Rights Management (DRM) of high quality audio content involves making only low quality versions available to unlicensed users. Licensed users however are provided with some additional information, typically a cryptographic key, that allows them access to an additional quality layer, so as to obtain the original high quality content. Typically the additional quality layer is provided as a separate and encrypted bitstream, i.e. separate from the low quality bit stream. An example of such a dual layer quality approach can be found in the DRM methods being proposed for DVD-Audio.

The presence of two separate bit streams poses a security risk because the encrypted high quality layer is easily traceable, and therefore accessible for cryptographic attacks. For example, by playing out the high quality layer of DVD-Audio, an attacker can try to exploit the observed relation between the encrypted and decrypted bit streams for retrieving cryptographic keys.

OBJECT AND SUMMARY OF THE INVENTION

It is an object of the invention to provide an alternative method of encoding a media signal, and a corresponding method of decoding the encoded media signal. To this end, the invention provides methods and arrangements as defined in the independent claims. Advantageous embodiments are defined in the dependent claims.

The encoding method comprises a step of defining a range of code sequences that are generated by a first encoder in response to encoding respective groups of one or more media signal samples by said first encoder. Note that the media signal is not actually encoded with the first encoder. The step provides the collection of code sequences that can be produced by such an encoder. Preferably, the first encoder is a relatively simple encoder, the code sequences of which can easily be decoded. An example thereof is a scalar quantizer.

The media signal is actually encoded with a different second encoder, which produces second code sequences. Preferably, the second encoder is a high quality encoder, which requires a more complex decoder to decode the media signal. An example thereof is a vector quantizer.

The invention now provides that a selected one of the first code sequences is assigned to each actually produced second code sequence. This assignment is carried out in accordance with a mapping table. The thus assigned first code sequences are transmitted.

With the invention is achieved that receivers having a first decoder, which performs the inverse operation of the first encoder, will decode the received first code sequences and reproduce the encoded media signal with a given quality. More sohisticated receivers having a second decoder, which performs the inverse operation of the second encoder, however, will be able to reconstruct the second code sequences from the received first code sequences, and reproduce the media signal with a different, better, quality.

By the invention, a low quality and high quality layer are multiplexed into a single bitstream. This is done in such a way that the multiplexed bitstream has some distortion with respect to the low quality layer. The high quality layer is embedded in this distortion of the low quality layer and can be made available by providing a proper decoder. In other words, information for high quality restoration has been embedded in a lower quality signal. The inventors have provided theoretical bounds (not described here) that can be achieved with respect to distortion and rates. A possible application is in the field of electronic media delivery. The invention allows a single version of a music song or movie to be distributed to free low quality players as well as high quality players for which a paid license is required.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other aspects of the invention are apparent from and will hereinafter be elucidated, by way of non-limitative examples. In the drawings,

FIG. 1 shows schematically a flow diagram of an illustrative embodiment of the encoding method according to the invention, and

FIG. 2 shows schematically a flow diagram of an illustrative embodiment of the decoding method according to the invention.

DESCRIPTION OF EMBODIMENTS

It will be assumed hereinafter that the media signal x has samples in a range [0,1). When such a signal x is replaced by another signal x′ by a quantizing operation, a distortion D(x,x′) is introduced, which is defined by the following equation: D(x, x′)=min{(x′−x+1 )², (x′−x)², (x′−x−1)²}

FIG. 1 shows schematically a flow diagram of an illustrative embodiment of the encoding method according to the invention. In a step 11 of the method, the media signal x is divided in successive groups of N signal samples x₁ . . . x_(N). In this example, N will be assumed to have the value N=4. In a step 12, a range of code sequences y₁ . . . y₄ is defined that could be generated by a scalar quantizer Q1, if such a scalar quantizer was indeed used to quantize a group of samples x₁ . . . x₄ of the media signal x. The scalar quantizer Q1 quantizes each sample x to either y=¼ for x<½ or y=¾ for x≧½. The following Table I lists the 16 possible code sequences y₁ . . . y₄ that can be produced by the (hypothetical) scalar quantizer Q1. For convenience, an index j is assigned to each code sequence. The index j is commonly referred to as quantization index. TABLE I j y₁ y₂ y₃ y₄ 0 ¼ ¼ ¼ ¼ 1 ¼ ¼ ¼ ¾ 2 ¼ ¼ ¾ ¼ 3 ¼ ¼ ¾ ¾ 4 ¼ ¾ ¼ ¼ 5 ¼ ¾ ¼ ¾ 6 ¼ ¾ ¾ ¼ 7 ¼ ¾ ¾ ¾ 8 ¾ ¼ ¼ ¼ 9 ¾ ¼ ¼ ¾ 10 ¾ ¼ ¾ ¼ 11 ¾ ¼ ¾ ¾ 12 ¾ ¾ ¼ ¼ 13 ¾ ¾ ¼ ¾ 14 ¾ ¾ ¾ ¼ 15 ¾ ¾ ¾ ¾

The distortion that is induced by the scalar quantizer Q1 is D(x,y)=0.0208. The quantizer's rate is R=1 bit per sample.

In a step 13, the media signal x is actually quantized by a vector quantizer Q2. The vector quantizer Q2 divides the 4-dimensional space spanned by four input samples x₁ . . . x₄ into sixteen subspaces, and assigns a code sequence of four quantized signal samples z₁ . . . z₄ to each subspace. In this example, the vector quantizer produces quantized sample values z=⅛, z=⅜, z=⅝, or z=⅞. Individual signal samples can thus more precisely be quantized than with the scalar quantizer. However, only 16 combinations of quantized signal samples are chosen, so that the rate of the vector quantizer is equal to the rate of the hypothetical scalar quantizer.

The following Table II lists the 16 possible code sequences z₁ . . . z₄ that can be produced by the vector quantizer Q2. Again, an index (now denoted i) is assigned to each code sequence. TABLE II i z₁ z₂ z₃ z₄ 0 ⅛ ⅛ ⅛ ⅛ 1 ⅛ ⅜ ⅝ ⅞ 2 ⅛ ⅞ ⅝ ⅜ 3 ⅛ ⅝ ⅛ ⅝ 4 ⅜ ⅛ ⅞ ⅝ 5 ⅜ ⅜ ⅜ ⅜ 6 ⅜ ⅞ ⅜ ⅞ 7 ⅜ ⅝ ⅞ ⅛ 8 ⅞ ⅛ ⅜ ⅝ 9 ⅞ ⅜ ⅞ ⅜ 10 ⅞ ⅞ ⅞ ⅞ 11 ⅞ ⅝ ⅜ ⅛ 12 ⅝ ⅛ ⅝ ⅛ 13 ⅝ ⅜ ⅛ ⅞ 14 ⅝ ⅞ ⅛ ⅜ 15 ⅝ ⅝ ⅝ ⅝

The distortion that is induced by the vector quantizer Q2 is D(x,z)=0.0197. Note that the improvement over the scalar quantizer Q1 is not very large, only 0.25 dB. The quantizer's rate is again R=1 bit per sample.

The salient feature of the invention resides in a step 14, which is carried out after actually quantizing a group of signal samples with the vector quantizer Q2. In the step 14, a selected one of the “scalar quantized” code sequences y₁ . . . y₄ (Table I) is assigned to each “vector quantized” code sequence z₁ . . . z₄ (Table II). The assignment is carried out in accordance with a reordering mapping function j=m(i). Table III shows the reordering mapping used in the present example. TABLE III i 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 j = m(i) 0 1 6 5 3 2 4 7 9 10 15 12 8 11 13 14

Instead of transmitting an actually obtained “vector quantized” code sequence with index i (Table II), a “scalar quantized” code sequence with index j (Table I) is now transmitted in a step 15. For example, a particular input sequence x1, which is vector quantized as z=[⅜, ⅛, ⅞, ⅝] (index i=4), is transmitted as scalar quantized sequence y=[¼, ¼, ¾, ¾] (index j=3). Another input sequence x2, which is vector quantized as z=[⅛, ⅜, ⅝, ⅞] (index i=1) will be transmitted as scalar quantized sequence y=[¼, ¼, ¼, ¾] (index j=1).

A simple receiver having a scalar dequantizer will reproduce the scalar quantized signal sequence y₁ . . . y₄. The above mentioned input sequences x1 and x2 will thus be reproduced as [¼, ¼, ¾, ¾] and [¼, ¼, ¼, ¾], respectively. Note that if the media signal x was actually quantized with the scalar quantizer Q1, both sequences x1 and x2 would probably have been quantized as y=[¼, ¼, ¾, ¾]. The distortion between the input signal and the reconstructed signal of a simple receiver is thus larger than the distortion D(x,y)=0.0208 of scalar quantizer Q1. The reordering mapping function j=m(i) is preferably chosen such that the distortion D(x,y) between x₁ . . . x₄ and y₁ . . . y₄ is as small as possible. The reordering mapping function, which is shown in Table III, has been found to yield a distortion D(x,y)≈0.0473.

A more sophisticated receiver comprises a vector dequantizer to reproduce the media signal. FIG. 2 shows schematically a flow diagram of an illustrative embodiment of the decoding method according to the invention. In a step 21, a scalar-quantized sequence y₁ . . . y₄ is received. In a step 22, the received sequence is inversely mapped into the vector quantized sequence z₁ . . . z₄. This inverse reordering mapping is carried out in accordance with the inverse reoredering mapping function i=m⁻¹(j) (see Table III). In a step 23, the sequence z₁ . . . z₄ is decoded and reproduced. It will be appreciated that the above mentioned exemplary sequences x1 and x2 will now be reproduced as [⅜, ⅛, ⅞, ⅝] and [⅛, ⅜, ⅝, ⅞], respectively. The distortion between input signal and recostructed signal is now D(x,z)=0.0197. The signal quality of the sophisticated receiver is thus considerably better than the signal quality of the simple receiver. Generally, the sophisticated receiver is more complex.

The reordering mapping function (Table III) in combination with the assignment of indexes (i,j) to quantized sequences (Tables I and II) constitutes a mapping table, that assigns relations between scalar quantized sequences and vector quantized sequences. It will be appreciated that the indexes may alternatively be assigned such that the reordering function j=m(i) is superfluous. This applies particularly to index i, the assigment of which is quite arbitrary. Using a reordering function j=m(i), however, has the advantage that the function can be kept secret to unlicensed users, even if they have the sophisticated version of the receiver at their disposal.

The above described example of an embodiment of the invention using a simple scalar quantizer Q1 and a more sophisticated vector quantizer Q2 having the same rate shows the operation and advantageous effects of the invention. As has been described, a source X is quantized with a high quality quantizer Q2. That means that every coding vector of X is approximated by a vector q2(i), for some index i. As Q1 and Q2 have the same number of coding vectors, it is possible to find a reordering j=m(i) such that q1(j) is also an approximation to x, although in general of less quality. An unlicensed user is given a set of indices j with respect to the scalar quantizer Q1. He will be able to reconstruct a low quality approximation to X. A licensed user will have access to the code vectors in Q2 as well as the inverse of the reordering map m(i) and will therefore be able to reconstruct a better approximation to X.

More generally summarized, the invention discloses a method of embedding information for high quality restoration of a media signal (typically an audio-visual signal) in a lower quality version of the signal. To this end, the signal x is encoded using a high quality encoder (Q2). The code sequences z produced by the high quality encoder are mapped into code sequences y that are associated with a hypothetical lower quality encoder (Q1). The latter code sequences y are transmitted. A simple decoder will decode the received sequences y, and thus reproduce a low quality version of the signal. A more sophisticated decoder is arranged to inversely map the received code sequences y into the code sequences z, that were actually produced by the high quality encoder (Q2). The sophisticated decoder will thus reproduce a higher quality version of the same signal.

Although the invention has been described with reference to particular illustrative embodiments, variants and modifications are possible within the scope of the inventive concept. Thus, for example, the use of the verb ‘to comprise’ and its conjugations does not exclude the presence of elements or steps other than those defined in a claim. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The invention can be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. Some of the features indicated in the drawings are typically implemented in software, and as such represent software entities, such as software modules or objects. A ‘computer program’ is to be understood to mean any software product stored on a computer-readable medium, such as a floppy-disk, downloadable via a network, such as the Internet, or marketable in any other manner. 

1. A method of encoding a media signal, comprising the steps of: defining a range of code sequences that are generated by a first encoder in response to encoding respective groups of one or more media signal samples by said first encoder, using a second encoder for actually encoding the groups of media signal samples into second code sequences, assigning to each second code sequence a selected one of said first code sequences in accordance with a mapping table, and transmitting the selected first code sequences to represent the information signal.
 2. A method as claimed in claim 1, wherein the second encoder has a higher encoding quality than the first encoder.
 3. A method as claimed in claim 1, wherein the first and/or second encoder are quantizers, and the respective code sequences are quantized signal samples.
 4. A method as claimed in claim 3, wherein the first quantizer is a scalar quantizer and the second quantizer is a vector quantizer.
 5. An apparatus for encoding a media signal, the apparatus comprising circuitry for implementing the steps of a method as claimed in claim
 1. 6. A method of decoding an encoded information signal, comprising the steps of: receiving first code sequences associated with a first decoder, replacing said first code sequences by second code sequences in accordance with a mapping table, and decoding the second code sequences using a second decoder.
 7. A method as claimed in claim 6, wherein the first and-or second code sequences are quantized signal samples, and the respective decoders are inverse quantizers.
 8. A method as claimed in claim 7, wherein the first inverse quantizer is an inverse scalar quantizer and the second inverse quantizer is an inverse vector quantizer.
 9. An apparatus for decoding an encoded information signal, the apparatus comprising circuitry for implementing the steps of a method as claimed in claim
 6. 10. A computer program product enabling a programmable device when executing said computer program product to function as an apparatus defined in claim
 5. 